package com.scalar.chiptrack.finance.creditNote.actionCommands;

import com.scalar.ScalarException;
import com.scalar.chiptrack.actioncommands.ActionCommand;
import com.scalar.chiptrack.commons.ClientInfo;
import com.scalar.chiptrack.commons.SessionKeys;
import com.scalar.chiptrack.finance.creditNote.dao.CreditNoteDAO;
import com.scalar.chiptrack.finance.creditNote.forms.CreditNoteForm;
import com.scalar.chiptrack.users.User;
import com.scalar.chiptrack.users.dao.UserDAO;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.HashMap;

/**
 * User: Ganesh
 * Date: Apr 23, 2007
 * Time: 7:04:23 PM
 */
public class CreditNoteViewCommand extends ActionCommand
{
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception
    {
        HttpSession session  = request.getSession();
        User user            = ( User ) session.getAttribute ( SessionKeys.USER_KEY );

        CreditNoteForm creditNoteForm = ( CreditNoteForm ) form;

        HashMap errors = ( HashMap )request.getAttribute( SessionKeys.ERROR_MESSAGES );

        try
        {
            if( creditNoteForm.getCreditNoteId() > 0 )
            {
                CreditNoteDAO.loadCreditNote( null, creditNoteForm );
                ClientInfo clientInfo = UserDAO.getClientAddressInfo();
                creditNoteForm.setClientInfo( clientInfo );
            }
        }
        catch ( ScalarException e )
        {
            e.printStackTrace();
            errors.put ( "Could not Load Credit Note", null );
        }
        return mapping.findForward ( "creditNoteView" );
    }
}
